Apache Ant-এ <parallel>
টাস্কটি আপনাকে একাধিক টাস্ক একসাথে সমান্তরালে (parallel) চালানোর সুবিধা দেয়। এই টাস্কটি একটি লক্ষ্য (target) বা টাস্কের সেট একে অপরের সাথে সমান্তরালে চালানোর জন্য ব্যবহৃত হয়, যা বিশেষ করে দীর্ঘ-running বা স্বাধীন টাস্কগুলির ক্ষেত্রে কার্যকরী। Parallel টাস্ক ব্যবহার করে আপনি সময় বাঁচাতে পারেন এবং আপনার বিল্ড প্রসেস দ্রুত করতে পারেন, কারণ এটি একাধিক টাস্ক একসাথে প্রক্রিয়া করে।
<parallel>
টাস্ক <target>
এবং <task>
-এর মধ্যে সমান্তরাল কার্যক্রম পরিচালনা করতে ব্যবহৃত হয়। এর মাধ্যমে আপনি একাধিক টাস্ককে একই সময়ে চালাতে পারেন, যা বিল্ড প্রক্রিয়ার পারফরম্যান্স উন্নত করতে সহায়ক।
<parallel>
<target name="task1">
<!-- task 1 definition -->
</target>
<target name="task2">
<!-- task 2 definition -->
</target>
<!-- more tasks -->
</parallel>
এটি একটি সাধারণ উদাহরণ যেখানে দুটি টাস্ক সমান্তরালে চালানো হচ্ছে।
<project name="ParallelExample" default="runParallelTasks" basedir=".">
<target name="task1">
<echo message="Running Task 1" />
</target>
<target name="task2">
<echo message="Running Task 2" />
</target>
<target name="runParallelTasks">
<parallel>
<ant target="task1" />
<ant target="task2" />
</parallel>
</target>
</project>
এখানে:
Running Task 1
Running Task 2
উল্লেখযোগ্য যে এই দুটি টাস্ক সমান্তরালে চালানোর কারণে তারা একসাথে কনসোলে আউটপুট প্রিন্ট করেছে।
আপনি যদি কিছু টাস্কের মধ্যে নির্ভরশীলতা তৈরি করতে চান তবে <depends>
অ্যাট্রিবিউট ব্যবহার করতে পারেন, যা নির্দিষ্ট টাস্কগুলির সমান্তরাল কার্যক্রম পরিচালনা করবে।
<project name="ParallelWithDependency" default="runParallelTasks" basedir=".">
<target name="task1">
<echo message="Running Task 1" />
</target>
<target name="task2" depends="task1">
<echo message="Running Task 2 after Task 1" />
</target>
<target name="task3">
<echo message="Running Task 3" />
</target>
<target name="runParallelTasks">
<parallel>
<ant target="task1" />
<ant target="task2" />
<ant target="task3" />
</parallel>
</target>
</project>
এখানে:
Running Task 1
Running Task 3
Running Task 2 after Task 1
যদি টাস্কগুলি একে অপরের উপর নির্ভরশীল না থাকে, তবে আপনি তাদের সম্পূর্ণ স্বাধীনভাবে চালাতে পারেন। এতে বিল্ডের সময় বাঁচানো যায়।
<project name="IndependentParallelTasks" default="runParallel" basedir=".">
<target name="task1">
<echo message="Task 1: Cleaning up files" />
</target>
<target name="task2">
<echo message="Task 2: Compiling code" />
</target>
<target name="task3">
<echo message="Task 3: Packaging the JAR" />
</target>
<target name="runParallel">
<parallel>
<ant target="task1" />
<ant target="task2" />
<ant target="task3" />
</parallel>
</target>
</project>
এখানে:
Task 1: Cleaning up files
Task 2: Compiling code
Task 3: Packaging the JAR
আপনি <parallel>
টাস্কের জন্য timeout সেট করতে পারেন, যা সমান্তরাল টাস্কের একটি নির্দিষ্ট সময় পরে প্রক্রিয়া বন্ধ করবে যদি কোনো টাস্ক সম্পন্ন না হয়।
<project name="ParallelWithTimeout" default="runParallelWithTimeout" basedir=".">
<target name="task1">
<echo message="Running Task 1 with a long process" />
<sleep seconds="10" />
</target>
<target name="task2">
<echo message="Running Task 2 with a short process" />
<sleep seconds="3" />
</target>
<target name="runParallelWithTimeout">
<parallel timeout="5">
<ant target="task1" />
<ant target="task2" />
</parallel>
</target>
</project>
এখানে:
Running Task 2 with a short process
Running Task 1 with a long process
এখানে task1 টাস্কটি টাইমআউট হয়ে যাবে, কিন্তু task2 সফলভাবে শেষ হবে।
Ant টাস্ক ব্যবহার করে আপনি একাধিক মেশিনে সমান্তরাল টাস্ক চালাতে পারেন, তবে এর জন্য আপনাকে Ant এর remote রানটাইম ফিচার ব্যবহার করতে হবে। এটি একটি উন্নত কনফিগারেশন যা সঠিকভাবে সেট আপ করা উচিত।
<parallel>
টাস্কটি Apache Ant-এ একটি অত্যন্ত কার্যকরী ফিচার যা একাধিক টাস্ককে একসাথে সমান্তরালে (parallel) চালানোর জন্য ব্যবহৃত হয়। এটি Ant স্ক্রিপ্টে কাজের কার্যক্রম দ্রুত করার জন্য সহায়ক, বিশেষত যখন আপনি স্বাধীন বা নির্ভরশীল টাস্কগুলিকে একসাথে সম্পন্ন করতে চান। Parallel Task ব্যবহার করে আপনি একাধিক কাজকে একসাথে প্রসেস করতে পারেন এবং এতে বিল্ড সময় অনেক কমিয়ে আনতে সহায়তা পেতে পারেন।
common.read_more